from selenium.webdriver.common.by import By

from add_member import AddMember
from basepage import BasePage


class Index(BasePage):
    _base_url = "https://work.weixin.qq.com/wework_admin/frame#index"

    def goto_add_member(self):
        """
        添加成员
        :return:
        """

        #等待某个元素出现
        def add_member_condition(x):
            #查看id为“username”元素的数量
            elements_len = len(self.finds(By.ID, 'username'))
            if elements_len <= 0:
                self.find((By.XPATH, '//*[@id="js_contacts62"]/div/div[2]/div/div[2]/div[3]/div[1]/a[1]')).click()
            return elements_len > 0




        # 点击通讯录，等待按钮能够点击，并跳转到对应的页面
        self.find(By.CSS_SELECTOR, '#menu_contacts').click()

        #目前由于即使设置了显示等待，该元素处于可被点击状态，且出发了显示等待的条件，但点击依旧未能生效，因此需要另寻它法
        #self.wait_for_click(By.XPATH, '//*[@id="js_contacts62"]/div/div[2]/div/div[2]/div[3]/div[1]/a[1]')
        # self.find((By.XPATH, '//*[@id="js_contacts62"]/div/div[2]/div/div[2]/div[3]/div[1]/a[1]')).click()

        self.wait_for_condition(add_member_condition)
        return AddMember(self._driver)



    def import_address(self):
        """
        导入通讯录
        :return:
        """
        pass

    def join_member(self):
        """
        成员加入
        :return:
        """
        pass
